package logo

//
//import (
//	"bytes"
//	"log"
//	"os"
//	"os/exec"
//	"strings"
//	"text/template"
//
//	"golang.org/x/crypto/ssh"
//	"k8s.io/klog"
//
//	"opengauss/pkg"
//)
//
//func runShell(commands []string) {
//	for _, cm := range commands {
//		x := strings.SplitAfter(cm, " ")
//		cmd := exec.Command(x[0], x[1:]...)
//		cmd.Stdout = os.Stdout
//		cmd.Stderr = os.Stderr
//		err := cmd.Run()
//		if err != nil {
//			log.Fatalf("failed to call cmd.Run(): %v", err)
//		}
//	}
//}
//
//func parserTemplate(scriptTpl string, data interface{}) ([]byte, error) {
//	t1, err := template.ParseFiles(scriptTpl)
//	if err != nil {
//		klog.Errorf("%s template parser failed, %v", scriptTpl, err)
//		return nil, err
//	}
//	buff1 := new(bytes.Buffer)
//
//	// 结构体数据映射到模版中
//	err = t1.Execute(buff1, data)
//	if err != nil {
//		klog.Errorf("execute template failed, %v", err)
//		return nil, err
//	}
//	return buff1.Bytes(), nil
//}
//
//// scpData use go text template, data is a struct object
//// temp is shell script, struct element use {{.Element}}
//func scpData(client *ssh.Client, data interface{}, temp []string) error {
//	for _, t := range temp {
//		scriptBytes, err := parserTemplate(t, data)
//		if err != nil {
//			return err
//		}
//		if err := pkg.CopyByteToRemote(client, scriptBytes, targetFile(t)); err != nil {
//			return err
//		}
//	}
//	return nil
//}
//
//func executeCmd(client *ssh.Client, commands []string) error {
//	for _, cmd := range commands {
//		klog.Infof("exec cmd %s", cmd)
//		b, err := pkg.ExecCmd(client, cmd)
//		klog.Infof("resp:  %s", string(b))
//		if err != nil {
//			klog.Errorf("ExecCmd failed, %v", err)
//			return err
//		}
//		klog.Infof("exec cmd: %s success", cmd)
//	}
//	return nil
//}
//
//func targetFile(tmp string) string {
//	t := strings.Split(tmp, "/")
//	return "/root/" + t[len(t)-1]
//}
